/*
 * color.h
 *
 *  Created on: 30/11/2013
 *      Author: gonzalo
 */

#ifndef COLOR_H_
#define COLOR_H_

#include <stdio.h>
#include <string>

typedef int ColorCode;

class color {
public:
	color();
	static std::string get(ColorCode fg, ColorCode attr = color::RESET, ColorCode bg = color::BLACK);
	virtual ~color();

	static const ColorCode RESET = 0;
	static const ColorCode BRIGHT = 1;
	static const ColorCode DIM = 2;
	static const ColorCode UNDERLINE = 3;
	static const ColorCode BLINK = 4;
	static const ColorCode REVERSE = 7;
	static const ColorCode HIDDEN = 8;

	static const ColorCode NO_COLOR= -1;
	static const ColorCode BLACK = -30;
	static const ColorCode RED = 1;
	static const ColorCode GREEN = 2;
	static const ColorCode YELLOW = 3;
	static const ColorCode BLUE = 4;
	static const ColorCode MAGENTA = 5;
	static const ColorCode CYAN = 6;
	static const ColorCode WHITE = 7;
};

#endif /* COLOR_H_ */
